home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1999 January: Mac OS SDK / Dev.CD Jan 99 SDK1.toast / Development Kits / Interfaces&Libraries / Universal / Interfaces / AIncludes / CodeFragments.a < prev    next >
Encoding:
Text File  |  1998-08-17  |  16.7 KB  |  554 lines  |  [TEXT/MPS ]

  1. ;
  2. ;    File:        CodeFragments.a
  3. ;
  4. ;    Contains:    Public Code Fragment Manager Interfaces.
  5. ;
  6. ;    Version:    Technology:    Mac OS 8.1
  7. ;                Release:    Universal Interfaces 3.2
  8. ;
  9. ;    Copyright:    © 1992-1998 by Apple Computer, Inc., all rights reserved.
  10. ;
  11. ;    Bugs?:        For bug reports, consult the following page on
  12. ;                the World Wide Web:
  13. ;
  14. ;                    http://developer.apple.com/bugreporter/
  15. ;
  16. ;
  17.  
  18. ;   •
  19. ;   ===========================================================================================
  20. ;   The Code Fragment Manager API
  21. ;   =============================
  22.  
  23.  
  24.  
  25.  
  26.     IF &TYPE('__CODEFRAGMENTS__') = 'UNDEFINED' THEN
  27. __CODEFRAGMENTS__ SET 1
  28.  
  29.     IF &TYPE('__MACTYPES__') = 'UNDEFINED' THEN
  30.     include 'MacTypes.a'
  31.     ENDIF
  32.     IF &TYPE('__FILES__') = 'UNDEFINED' THEN
  33.     include 'Files.a'
  34.     ENDIF
  35.  
  36.  
  37. ;   §
  38. ;   ===========================================================================================
  39. ;   General Types and Constants
  40. ;   ===========================
  41.  
  42.  
  43.  
  44.  
  45.  
  46. kCFragResourceType                EQU        'cfrg'
  47. kCFragResourceID                EQU        0
  48. kCFragLibraryFileType            EQU        'shlb'
  49. kCFragAllFileTypes                EQU        $FFFFFFFF
  50.  
  51. ; typedef OSType                         CFragArchitecture
  52.  
  53.  
  54. kPowerPCCFragArch                EQU        'pwpc'
  55. kMotorola68KCFragArch            EQU        'm68k'
  56. kAnyCFragArch                    EQU        $3F3F3F3F
  57.     IF TARGET_CPU_PPC THEN
  58.  
  59. kCompiledCFragArch                EQU        'pwpc'
  60.     ENDIF    ; TARGET_CPU_PPC
  61.     IF TARGET_CPU_68K THEN
  62.  
  63. kCompiledCFragArch                EQU        'm68k'
  64.     ENDIF    ; TARGET_CPU_68K
  65. ; typedef UInt32                         CFragVersionNumber
  66.  
  67.  
  68. kNullCFragVersion                EQU        0
  69. kWildcardCFragVersion            EQU        $FFFFFFFF
  70.  
  71. ; typedef UInt8                         CFragUsage
  72.  
  73.  
  74. kImportLibraryCFrag                EQU        0                    ; Standard CFM import library.
  75. kApplicationCFrag                EQU        1                    ; MacOS application.
  76. kDropInAdditionCFrag            EQU        2                    ; Application or library private extension/plug-in
  77. kStubLibraryCFrag                EQU        3                    ; Import library used for linking only
  78. kWeakStubLibraryCFrag            EQU        4                    ; Import library used for linking only and will be automatically weak linked
  79.  
  80.  
  81. kIsCompleteCFrag                EQU        0                    ; A "base" fragment, not an update.
  82. kFirstCFragUpdate                EQU        1                    ; The first update, others are numbered 2, 3, ...
  83.  
  84.  
  85. kCFragGoesToEOF                    EQU        0
  86.  
  87.  
  88.  
  89. ; typedef UInt8                         CFragLocatorKind
  90.  
  91.  
  92. kMemoryCFragLocator                EQU        0                    ; Container is already addressable.
  93. kDataForkCFragLocator            EQU        1                    ; Container is in a file's data fork.
  94. kResourceCFragLocator            EQU        2                    ; Container is in a file's resource fork.
  95. kByteStreamCFragLocator            EQU        3                    ; ! Reserved for possible future use!
  96. kNamedFragmentCFragLocator        EQU        4                    ; ! Reserved for possible future use!
  97.  
  98.  
  99. ;   --------------------------------------------------------------------------------------
  100. ;   A 'cfrg' resource consists of a header followed by a sequence of variable length
  101. ;   members.  The constant kDefaultCFragNameLen only provides for a legal ANSI declaration
  102. ;   and for a reasonable display in a debugger.  The actual name field is cut to fit.
  103. ;   There may be "extensions" after the name, the memberSize field includes them.  The
  104. ;   general form of an extension is a 16 bit type code followed by a 16 bit size in bytes.
  105. ;   Only one standard extension type is defined at present, it is used by SOM's searching
  106. ;   mechanism.
  107.  
  108.  
  109.  
  110.  
  111. CFragUsage1Union        RECORD 0
  112. ;  ! Meaning differs depending on value of "usage".
  113. appStackSize             ds.l    1                ; offset: $0 (0)        ;  If the fragment is an application. (Not used by CFM!)
  114. sizeof                     EQU *                    ; size:   $4 (4)
  115.                         ENDR
  116. CFragUsage2Union        RECORD 0
  117. ;  ! Meaning differs depending on value of "usage".
  118. appSubdirID                 ds.w    1                ; offset: $0 (0)        ;  If the fragment is an application.
  119.                          ORG 0
  120. libFlags                 ds.w    1                ; offset: $0 (0)        ;  If the fragment is an import library.
  121. sizeof                     EQU *                    ; size:   $2 (2)
  122.                         ENDR
  123.  
  124.                                                             ; Bit masks for the CFragUsage2Union libFlags variant.
  125. kCFragLibUsageMapPrivatelyMask    EQU        $0001                ; Put container in app heap if necessary.
  126. CFragWhere1Union        RECORD 0
  127. ;  ! Meaning differs depending on value of "where".
  128. spaceID                     ds.l    1                ; offset: $0 (0)        ;  If the fragment is in memory.  (Actually an AddressSpaceID.)
  129.                          ORG 0
  130. forkKind                 ds.l    1                ; offset: $0 (0)        ;  If the fragment is in an arbitrary byte stream fork.
  131. sizeof                     EQU *                    ; size:   $4 (4)
  132.                         ENDR
  133. CFragWhere2Union        RECORD 0
  134. ;  ! Meaning differs depending on value of "where".
  135. forkInstance             ds.w    1                ; offset: $0 (0)        ;  If the fragment is in an arbitrary byte stream fork.
  136. sizeof                     EQU *                    ; size:   $2 (2)
  137.                         ENDR
  138.  
  139. kDefaultCFragNameLen            EQU        16
  140.  
  141. CFragResourceMember        RECORD 0
  142. architecture             ds.l    1                ; offset: $0 (0)
  143. reservedA                 ds.w    1                ; offset: $4 (4)        ;  ! Must be zero!
  144. reservedB                 ds.b    1                ; offset: $6 (6)        ;  ! Must be zero!
  145. updateLevel                 ds.b    1                ; offset: $7 (7)
  146. currentVersion             ds.l    1                ; offset: $8 (8)
  147. oldDefVersion             ds.l    1                ; offset: $C (12)
  148. uUsage1                     ds        CFragUsage1Union ; offset: $10 (16)
  149. uUsage2                     ds        CFragUsage2Union ; offset: $14 (20)
  150. usage                     ds.b    1                ; offset: $16 (22)
  151. where                     ds.b    1                ; offset: $17 (23)
  152. offset                     ds.l    1                ; offset: $18 (24)
  153. length                     ds.l    1                ; offset: $1C (28)
  154. uWhere1                     ds        CFragWhere1Union ; offset: $20 (32)
  155. uWhere2                     ds        CFragWhere2Union ; offset: $24 (36)
  156. extensionCount             ds.w    1                ; offset: $26 (38)        ;  The number of extensions beyond the name.
  157. memberSize                 ds.w    1                ; offset: $28 (40)        ;  Size in bytes, includes all extensions.
  158. name                     ds.b    16                ; offset: $2A (42)        ;  ! Actually a sized PString.
  159. sizeof                     EQU *                    ; size:   $3A (58)
  160.                         ENDR
  161. ; typedef struct CFragResourceMember *    CFragResourceMemberPtr
  162.  
  163. CFragResourceExtensionHeader RECORD 0
  164. extensionKind             ds.w    1                ; offset: $0 (0)
  165. extensionSize             ds.w    1                ; offset: $2 (2)
  166. sizeof                     EQU *                    ; size:   $4 (4)
  167.                         ENDR
  168. ; typedef struct CFragResourceExtensionHeader * CFragResourceExtensionHeaderPtr
  169.  
  170. CFragResourceSearchExtension RECORD 0
  171. header                     ds        CFragResourceExtensionHeader ; offset: $0 (0)
  172. libKind                     ds.l    1                ; offset: $4 (4)
  173. qualifiers                 ds.b    1                ; offset: $8 (8) <-- really an array of length one ;  ! Actually four PStrings.
  174.                          ORG 10
  175. sizeof                     EQU *                    ; size:   $A (10)
  176.                         ENDR
  177. ; typedef struct CFragResourceSearchExtension * CFragResourceSearchExtensionPtr
  178.  
  179.  
  180. kCFragResourceSearchExtensionKind EQU    $30EE
  181.  
  182. CFragResource            RECORD 0
  183. reservedA                 ds.l    1                ; offset: $0 (0)        ;  ! Must be zero!
  184. reservedB                 ds.l    1                ; offset: $4 (4)        ;  ! Must be zero!
  185. reservedC                 ds.w    1                ; offset: $8 (8)        ;  ! Must be zero!
  186. version                     ds.w    1                ; offset: $A (10)
  187. reservedD                 ds.l    1                ; offset: $C (12)        ;  ! Must be zero!
  188. reservedE                 ds.l    1                ; offset: $10 (16)        ;  ! Must be zero!
  189. reservedF                 ds.l    1                ; offset: $14 (20)        ;  ! Must be zero!
  190. reservedG                 ds.l    1                ; offset: $18 (24)        ;  ! Must be zero!
  191. reservedH                 ds.w    1                ; offset: $1C (28)        ;  ! Must be zero!
  192. memberCount                 ds.w    1                ; offset: $1E (30)
  193. firstMember                 ds        CFragResourceMember ; offset: $20 (32)
  194. sizeof                     EQU *                    ; size:   $5A (90)
  195.                         ENDR
  196. ; typedef struct CFragResource *        CFragResourcePtr
  197.  
  198. ; typedef CFragResourcePtr *            CFragResourceHandle
  199.  
  200.  
  201. kCurrCFragResourceVersion        EQU        1
  202.  
  203.  
  204.  
  205.  
  206.  
  207.  
  208.  
  209.  
  210.  
  211.  
  212. ; typedef UInt32                         CFragLoadOptions
  213.  
  214.  
  215. kReferenceCFrag                    EQU        $0001                ; Try to use existing copy, increment reference counts.
  216. kFindCFrag                        EQU        $0002                ; Try find an existing copy, do not increment reference counts.
  217. kPrivateCFragCopy                EQU        $0005                ; Prepare a new private copy.  (kReferenceCFrag | 0x0004)
  218.  
  219.  
  220. kUnresolvedCFragSymbolAddress    EQU        0
  221.  
  222. ; typedef UInt8                         CFragSymbolClass
  223.  
  224.  
  225. kCodeCFragSymbol                EQU        0
  226. kDataCFragSymbol                EQU        1
  227. kTVectorCFragSymbol                EQU        2
  228. kTOCCFragSymbol                    EQU        3
  229. kGlueCFragSymbol                EQU        4
  230.  
  231.  
  232. ;   §
  233. ;   ===========================================================================================
  234. ;   Macros and Functions
  235. ;   ====================
  236.  
  237.  
  238.  
  239.  
  240.  
  241. ;
  242. ; pascal OSErr GetSharedLibrary(ConstStr63Param libName, CFragArchitecture archType, CFragLoadOptions loadFlags, CFragConnectionID *connID, Ptr *mainAddr, Str255 errMessage)
  243. ;
  244.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  245.         Macro
  246.         _GetSharedLibrary
  247.             move.w              #$0001,-(sp)
  248.             dc.w                $AA5A
  249.         EndM
  250.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  251.         IMPORT_CFM_FUNCTION GetSharedLibrary
  252.     ENDIF
  253.  
  254. ;
  255. ; pascal OSErr GetDiskFragment(const FSSpec *fileSpec, UInt32 offset, UInt32 length, ConstStr63Param fragName, CFragLoadOptions loadFlags, CFragConnectionID *connID, Ptr *mainAddr, Str255 errMessage)
  256. ;
  257.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  258.         Macro
  259.         _GetDiskFragment
  260.             move.w              #$0002,-(sp)
  261.             dc.w                $AA5A
  262.         EndM
  263.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  264.         IMPORT_CFM_FUNCTION GetDiskFragment
  265.     ENDIF
  266.  
  267. ;
  268. ; pascal OSErr GetMemFragment(void *memAddr, UInt32 length, ConstStr63Param fragName, CFragLoadOptions loadFlags, CFragConnectionID *connID, Ptr *mainAddr, Str255 errMessage)
  269. ;
  270.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  271.         Macro
  272.         _GetMemFragment
  273.             move.w              #$0003,-(sp)
  274.             dc.w                $AA5A
  275.         EndM
  276.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  277.         IMPORT_CFM_FUNCTION GetMemFragment
  278.     ENDIF
  279.  
  280. ;
  281. ; pascal OSErr CloseConnection(CFragConnectionID *connID)
  282. ;
  283.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  284.         Macro
  285.         _CloseConnection
  286.             move.w              #$0004,-(sp)
  287.             dc.w                $AA5A
  288.         EndM
  289.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  290.         IMPORT_CFM_FUNCTION CloseConnection
  291.     ENDIF
  292.  
  293. ;
  294. ; pascal OSErr FindSymbol(CFragConnectionID connID, ConstStr255Param symName, Ptr *symAddr, CFragSymbolClass *symClass)
  295. ;
  296.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  297.         Macro
  298.         _FindSymbol
  299.             move.w              #$0005,-(sp)
  300.             dc.w                $AA5A
  301.         EndM
  302.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  303.         IMPORT_CFM_FUNCTION FindSymbol
  304.     ENDIF
  305.  
  306. ;
  307. ; pascal OSErr CountSymbols(CFragConnectionID connID, long *symCount)
  308. ;
  309.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  310.         Macro
  311.         _CountSymbols
  312.             move.w              #$0006,-(sp)
  313.             dc.w                $AA5A
  314.         EndM
  315.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  316.         IMPORT_CFM_FUNCTION CountSymbols
  317.     ENDIF
  318.  
  319. ;
  320. ; pascal OSErr GetIndSymbol(CFragConnectionID connID, long symIndex, Str255 symName, Ptr *symAddr, CFragSymbolClass *symClass)
  321. ;
  322.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  323.         Macro
  324.         _GetIndSymbol
  325.             move.w              #$0007,-(sp)
  326.             dc.w                $AA5A
  327.         EndM
  328.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  329.         IMPORT_CFM_FUNCTION GetIndSymbol
  330.     ENDIF
  331.  
  332.  
  333.  
  334. ;   §
  335. ;   ===========================================================================================
  336. ;   Initialization & Termination Routines
  337. ;   =====================================
  338.  
  339.  
  340.  
  341.  
  342.  
  343. ;   -----------------------------------------------------------------------------------------
  344. ;   A fragment's initialization and termination routines are called when a new incarnation of
  345. ;   the fragment is created or destroyed, respectively.  Exactly when this occurs depends on
  346. ;   what kinds of section sharing the fragment has and how the fragment is prepared.  Import
  347. ;   libraries have at most one incarnation per process.  Fragments prepared with option
  348. ;   kPrivateCFragCopy may have many incarnations per process.
  349. ;   The initialization function is passed a pointer to an initialization information structure
  350. ;   and returns an OSErr.  If an initialization function returns a non-zero value the entire
  351. ;   closure of which it is a part fails.  The C prototype for an initialization function is:
  352. ;          OSErr    CFragInitFunction    ( const CFragInitBlock *    initBlock );
  353. ;   The termination procedure takes no parameters and returns nothing.  The C prototype for a
  354. ;   termination procedure is:
  355. ;          void    CFragTermProcedure    ( void );
  356. ;   Note that since the initialization and termination routines are themselves "CFM"-style
  357. ;   routines whether or not they have the "pascal" keyword is irrelevant.
  358.  
  359.  
  360.  
  361.  
  362.  
  363. ;   -----------------------------------------------------------------------------------------
  364. ;   ! Note:
  365. ;   ! The "System7" portion of these type names was introduced during the evolution towards
  366. ;   ! the now defunct Copland version of Mac OS.  Copland was to be called System 8 and there
  367. ;   ! were slightly different types for System 7 and System 8.  The "generic" type names were
  368. ;   ! conditionally defined for the desired target system.
  369. ;   ! Always use the generic types, e.g. CFragInitBlock!  The "System7" names have been kept
  370. ;   ! only to avoid perturbing code that (improperly) used the target specific type.
  371.  
  372.  
  373.  
  374.  
  375. CFragSystem7MemoryLocator RECORD 0
  376. address                     ds.l    1                ; offset: $0 (0)
  377. length                     ds.l    1                ; offset: $4 (4)
  378. inPlace                     ds.b    1                ; offset: $8 (8)
  379. reservedA                 ds.b    1                ; offset: $9 (9)        ;  ! Must be zero!
  380. reservedB                 ds.w    1                ; offset: $A (10)        ;  ! Must be zero!
  381. sizeof                     EQU *                    ; size:   $C (12)
  382.                         ENDR
  383. CFragSystem7DiskFlatLocator RECORD 0
  384. fileSpec                 ds.l    1                ; offset: $0 (0)
  385. offset                     ds.l    1                ; offset: $4 (4)
  386. length                     ds.l    1                ; offset: $8 (8)
  387. sizeof                     EQU *                    ; size:   $C (12)
  388.                         ENDR
  389. ;  ! This must have a file specification at the same offset as a disk flat locator!
  390. CFragSystem7SegmentedLocator RECORD 0
  391. fileSpec                 ds.l    1                ; offset: $0 (0)
  392. rsrcType                 ds.l    1                ; offset: $4 (4)
  393. rsrcID                     ds.w    1                ; offset: $8 (8)
  394. reservedA                 ds.w    1                ; offset: $A (10)        ;  ! Must be zero!
  395. sizeof                     EQU *                    ; size:   $C (12)
  396.                         ENDR
  397. CFragSystem7Locator        RECORD 0
  398. where                     ds.l    1                ; offset: $0 (0)
  399. onDisk                     ds        CFragSystem7DiskFlatLocator ; offset: $4 (4)
  400.                          ORG 4
  401. inMem                     ds        CFragSystem7MemoryLocator ; offset: $4 (4)
  402.                          ORG 4
  403. inSegs                     ds        CFragSystem7SegmentedLocator ; offset: $4 (4)
  404. sizeof                     EQU *                    ; size:   $10 (16)
  405.                         ENDR
  406. ; typedef struct CFragSystem7Locator *    CFragSystem7LocatorPtr
  407.  
  408. CFragSystem7InitBlock    RECORD 0
  409. contextID                 ds.l    1                ; offset: $0 (0)
  410. closureID                 ds.l    1                ; offset: $4 (4)
  411. connectionID             ds.l    1                ; offset: $8 (8)
  412. fragLocator                 ds        CFragSystem7Locator ; offset: $C (12)
  413. libName                     ds.l    1                ; offset: $1C (28)
  414. reservedA                 ds.l    1                ; offset: $20 (32)        ;  ! Must be zero!
  415. sizeof                     EQU *                    ; size:   $24 (36)
  416.                         ENDR
  417. ; typedef struct CFragSystem7InitBlock * CFragSystem7InitBlockPtr
  418.  
  419. CFragInitBlock            RECORD 0
  420. f                         ds        CFragSystem7InitBlock
  421. sizeof                     EQU *                    ; size:   $24 (36)
  422.                         ENDR
  423.  
  424.  
  425. ; typedef CFragSystem7InitBlockPtr         CFragInitBlockPtr
  426.  
  427. ;  These init/term routine types are only of value to CFM itself.
  428.  
  429. ;   §
  430. ;   ===========================================================================================
  431. ;   Old Name Spellings
  432. ;   ==================
  433.  
  434.  
  435.  
  436.  
  437.  
  438. ;   -------------------------------------------------------------------------------------------
  439. ;   We've tried to reduce the risk of name collisions in the future by introducing the phrase
  440. ;   "CFrag" into constant and type names.  The old names are defined below in terms of the new.
  441.  
  442.  
  443.  
  444.  
  445.  
  446. kLoadCFrag                        EQU        $0001
  447.  
  448.     IF OLDROUTINENAMES THEN
  449. ; typedef CFragConnectionID             ConnectionID
  450.  
  451. ; typedef CFragLoadOptions                 LoadFlags
  452.  
  453. ; typedef CFragSymbolClass                 SymClass
  454.  
  455. InitBlock                RECORD 0
  456. f                         ds        CFragInitBlock
  457. sizeof                     EQU *                    ; size:   $24 (36)
  458.                         ENDR
  459.  
  460.  
  461. ; typedef CFragInitBlockPtr             InitBlockPtr
  462.  
  463. MemFragment                RECORD 0
  464. f                         ds        CFragSystem7MemoryLocator
  465. sizeof                     EQU *                    ; size:   $C (12)
  466.                         ENDR
  467.  
  468.  
  469. DiskFragment            RECORD 0
  470. f                         ds        CFragSystem7DiskFlatLocator
  471. sizeof                     EQU *                    ; size:   $C (12)
  472.                         ENDR
  473.  
  474.  
  475. SegmentedFragment        RECORD 0
  476. f                         ds        CFragSystem7SegmentedLocator
  477. sizeof                     EQU *                    ; size:   $C (12)
  478.                         ENDR
  479.  
  480.  
  481. FragmentLocator            RECORD 0
  482. f                         ds        CFragSystem7Locator
  483. sizeof                     EQU *                    ; size:   $10 (16)
  484.                         ENDR
  485.  
  486.  
  487. ; typedef CFragSystem7LocatorPtr         FragmentLocatorPtr
  488.  
  489. CFragHFSMemoryLocator    RECORD 0
  490. f                         ds        CFragSystem7MemoryLocator
  491. sizeof                     EQU *                    ; size:   $C (12)
  492.                         ENDR
  493.  
  494.  
  495. CFragHFSDiskFlatLocator    RECORD 0
  496. f                         ds        CFragSystem7DiskFlatLocator
  497. sizeof                     EQU *                    ; size:   $C (12)
  498.                         ENDR
  499.  
  500.  
  501. CFragHFSSegmentedLocator RECORD 0
  502. f                         ds        CFragSystem7SegmentedLocator
  503. sizeof                     EQU *                    ; size:   $C (12)
  504.                         ENDR
  505.  
  506.  
  507. CFragHFSLocator            RECORD 0
  508. f                         ds        CFragSystem7Locator
  509. sizeof                     EQU *                    ; size:   $10 (16)
  510.                         ENDR
  511.  
  512.  
  513. ; typedef CFragSystem7LocatorPtr         CFragHFSLocatorPtr
  514.  
  515.  
  516. kPowerPCArch                    EQU        'pwpc'
  517. kMotorola68KArch                EQU        'm68k'
  518. kAnyArchType                    EQU        $3F3F3F3F
  519. kNoLibName                        EQU        0
  520. kNoConnectionID                    EQU        0
  521. kLoadLib                        EQU        $0001
  522. kFindLib                        EQU        $0002
  523. kNewCFragCopy                    EQU        $0005
  524. kLoadNewCopy                    EQU        $0005
  525. kUseInPlace                        EQU        $80
  526. kCodeSym                        EQU        0
  527. kDataSym                        EQU        1
  528. kTVectSym                        EQU        2
  529. kTOCSym                            EQU        3
  530. kGlueSym                        EQU        4
  531. kInMem                            EQU        0
  532. kOnDiskFlat                        EQU        1
  533. kOnDiskSegmented                EQU        2
  534. kIsLib                            EQU        0
  535. kIsApp                            EQU        1
  536. kIsDropIn                        EQU        2
  537. kFullLib                        EQU        0
  538. kUpdateLib                        EQU        1
  539. kWholeFork                        EQU        0
  540. kCFMRsrcType                    EQU        'cfrg'
  541. kCFMRsrcID                        EQU        0
  542. kSHLBFileType                    EQU        'shlb'
  543. kUnresolvedSymbolAddress        EQU        0
  544.  
  545. kPowerPC                        EQU        'pwpc'
  546. kMotorola68K                    EQU        'm68k'
  547.     ENDIF    ; OLDROUTINENAMES
  548.  
  549.  
  550.  
  551.  
  552.     ENDIF ; __CODEFRAGMENTS__ 
  553.  
  554.